import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 模版文件信息 */
export interface TemplateFile {
          id: number; // 编号
          templateId?: number; // 模版编号
          name?: string; // 文件名称
          filePath?: string; // 文件保存路径
          excuteCondtion?: string;
          content?: string; // 文件内容
}

/** 模版信息 */
export interface Template {
          id: number; // 模版编号
          name?: string; // 模版名称
          variable?: string; // 模版变量
  }

// 模版 API
export const TemplateApi = {
  // 查询模版分页
  getTemplatePage: async (params: any) => {
    return await request.get({ url: `/infra/template/page`, params })
  },

  // 查询模版详情
  getTemplate: async (id: number) => {
    return await request.get({ url: `/infra/template/get?id=` + id })
  },

  // 新增模版
  createTemplate: async (data: Template) => {
    return await request.post({ url: `/infra/template/create`, data })
  },

  // 修改模版
  updateTemplate: async (data: Template) => {
    return await request.put({ url: `/infra/template/update`, data })
  },

  // 删除模版
  deleteTemplate: async (id: number) => {
    return await request.delete({ url: `/infra/template/delete?id=` + id })
  },

  /** 批量删除模版 */
  deleteTemplateList: async (ids: number[]) => {
    return await request.delete({ url: `/infra/template/delete-list?ids=${ids.join(',')}` })
  },

  // 导出模版 Excel
  exportTemplate: async (params) => {
    return await request.download({ url: `/infra/template/export-excel`, params })
  },

// ==================== 子表（模版文件） ====================

  // 获得模版文件分页
  getTemplateFilePage: async (params) => {
    return await request.get({ url: `/infra/template/template-file/page`, params })
  },
  // 新增模版文件
  createTemplateFile: async (data: TemplateFile) => {
    return await request.post({ url: `/infra/template/template-file/create`, data })
  },

  // 修改模版文件
  updateTemplateFile: async (data: TemplateFile) => {
    return await request.put({ url: `/infra/template/template-file/update`, data })
  },

  // 删除模版文件
  deleteTemplateFile: async (id: number) => {
    return await request.delete({ url: `/infra/template/template-file/delete?id=` + id })
  },

  /** 批量删除模版文件 */
  deleteTemplateFileList: async (ids: number[]) => {
    return await request.delete({ url: `/infra/template/template-file/delete-list?ids=${ids.join(',')}` })
  },

  // 获得模版文件
  getTemplateFile: async (id: number) => {
    return await request.get({ url: `/infra/template/template-file/get?id=` + id })
  },
  ///template/test
  test: async (fileId: number) => {
    return await request.get({ url: `/infra/template/test?fileId=` + fileId })
  },
  ///template/get-base-vars
  getBaseVars: async (templateId: number,fileId: number) => {
    return await request.get({ url: `/infra/template/get-base-vars`,params:{templateId,fileId} })
  },
  // /template/copy
  copy: async (templateId: number) => {
    return await request.get({ url: `/infra/template/copy`,params:{templateId} })
  },
}